//抽象类
abstract class Department{
    name:string
    constructor(name:string){
        this.name=name
    }
    printName():void{
        console.log('Department name'+this.name)
    }
    abstract printMeeting():void
}

class AccountingDepartment extends Department{
    constructor(){
        super('Accounting ad Auditing')//使用super关键字
    }
    printMeeting():void{
        console.log('The Accounting Department')
    }
    genterateReport():void{//AccountingDepartment自己的成员方法
        console.log('Generating accounting reports ...')
    }
}

let department:Department //类型  
department = new AccountingDepartment()//department不能实例化   派生类是可以的 
department.printName()
department.printMeeting()
// department.genterateReport()  派生类上的方法 需要let department:AccountingDepartment派生类上实现